package javachongkao.面向对象上.时间类;

import java.util.Scanner;
//7-46 时间类
//设计一个名为Time 的类。这个类包含：
//
//表示时间的数据域hour、minute 和second。
//一个以当前时间创建Time 对象的无参构造方法（数据域的值表示当前时间）。
//一个构造Time 对象的构造方法，这个对象有一个特定的时间值，这个值是以毫秒表示的、从1970 年1 月丨日午夜开始现在流逝的时间段（数据域的值表示这个时间）。
//一个构造带特定的小时、分钟和秒的Time 对象的构造方法。
//三个数据域hour、minute 和second 各自的get 方法。
//— 个名为setTime(long elapseTime)的方法使用流逝的时间给对象设置一个新时间。例如，如果流逝的时间为555550000 毫秒，則转换为10 小时、10 分钟、10 秒。
//编写一个测试程序，创建两个Time 对象（使用new Time() 和new Time(555550000)), 然后显示它们的小时、分钟和秒.
//输入格式:
//输入毫秒
//
//输出格式:
//按照小时、分钟、秒显示
class Time {
    private int hour;
    private int minute;
    private int second;

    // 无参构造方法，使用当前时间
    public Time() {
        long totalMilliseconds = System.currentTimeMillis();
        setTime(totalMilliseconds);
    }

    // 使用毫秒数构造方法
    public Time(long elapsedTime) {
        setTime(elapsedTime);
    }

    // 使用小时、分钟、秒构造方法
    public Time(int hour, int minute, int second) {
        this.hour = hour;
        this.minute = minute;
        this.second = second;
    }

    // getter方法
    public int getHour() {
        return hour;
    }

    public int getMinute() {
        return minute;
    }

    public int getSecond() {
        return second;
    }

    // 设置时间方法
    public void setTime(long elapsedTime) {
        // 计算总秒数
        long totalSeconds = elapsedTime / 1000;
        // 计算当前秒数
        this.second = (int)(totalSeconds % 60);
        // 计算总分钟数
        long totalMinutes = totalSeconds / 60;
        // 计算当前分钟数
        this.minute = (int)(totalMinutes % 60);
        // 计算总小时数
        long totalHours = totalMinutes / 60;
        // 计算当前小时数（24小时制）
        this.hour = (int)(totalHours % 24);
    }
}

public class Main {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);

        // 创建两个Time对象
        Time time1 = new Time();
        long input = scanner.nextLong();
        Time time2 = new Time(input);

        // 输出时间信息
        System.out.printf("Hour: %d Minute: %d Second: %d\n",
                time2.getHour(), time2.getMinute(), time2.getSecond());

        scanner.close();
    }
}
